/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.sanerzone.smscenter.modules.sms.dao;

import com.sanerzone.jeebase.common.persistence.CrudDao;
import com.sanerzone.jeebase.common.persistence.annotation.MyBatisDao;
import com.sanerzone.smscenter.modules.sms.entity.*;
import com.sanerzone.smscenter.modules.sms.task.SmsStatisticsTask;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 短信发送DAO接口
 * @author zhukc
 * @version 2017-06-26
 */
@MyBatisDao
public interface SmsSendDao extends CrudDao<SmsSend> {
	public void insertHistory(SmsSend param);
	public void clearSmsSend(SmsSend param);
	public SmsTask findSmsSendByTaskId(SmsSend smsSend);
	public SmsSend getV2(SmsSend param);
	public int userTaskCount(Map map);
	public List<TaskSort> findTaskSorts(Map map);
	public int getCountByTaskIdAndUserId(Map map);
	public List<SmsSend> getSmsSendListByUserIdAndTaskId(Map map);
	public int insertSubmitAction(Map map);
	public int getSubmitCountByUserId(Map map);
	public Record getRecordSingleSubmit(Map map);
	public List<SmsSend> getWaitProcessOrders(Map map);
	public int updateAllCheatSmssend(Map map);
	public void countStatis(SubmitStatistics submitStatistics);
	public List<SubmitStatistics> getStatustics(Map map);
	public List<SubmitStatistics> getTodaysSubmitId(Map map);
	/**
	 * 根据sms_sendId去更新审核人，审核时间
	 * @param smsSend
	 */
	public void updateCheck(SmsSend smsSend);

	public List<SmsSend> getTodayTimingSms(Map map);

	/**
	 * 设置为失效
	 * @param map
	 */
	public void setFalse(Map map);

	/**
	 * 更新短信备注
	 * @param smsSend
	 * @return
	 */
	public int updateRemark(SmsSend smsSend);

	/**
	 *
	 * @param smsSend
	 * @return
	 */
	public List<SmsSendPhoneExcel> exprotTaskSendRecord(SmsSend smsSend);

}